diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index 3af3ea4..83367c4 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -269,7 +269,7 @@
 
 static int atmel_fb_ofdata_to_platdata(struct udevice *dev)
 {
-	struct atmel_lcd_platdata *plat = dev_get_platdata(dev);
+	struct atmel_lcd_platdata *plat = dev_get_plat(dev);
 	struct atmel_fb_priv *priv = dev_get_priv(dev);
 	struct display_timing *timing = &priv->timing;
 	const void *blob = gd->fdt_blob;
diff --git a/drivers/video/broadwell_igd.c b/drivers/video/broadwell_igd.c
index 94d9470..69bf2ee 100644
--- a/drivers/video/broadwell_igd.c
+++ b/drivers/video/broadwell_igd.c
@@ -356,7 +356,7 @@
 
 static void igd_setup_panel(struct udevice *dev)
 {
-	struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+	struct broadwell_igd_plat *plat = dev_get_plat(dev);
 	struct broadwell_igd_priv *priv = dev_get_priv(dev);
 	u32 reg32;
 
@@ -398,7 +398,7 @@
 
 static int igd_cdclk_init_haswell(struct udevice *dev)
 {
-	struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+	struct broadwell_igd_plat *plat = dev_get_plat(dev);
 	struct broadwell_igd_priv *priv = dev_get_priv(dev);
 	int cdclk = plat->cdclk;
 	u16 devid;
@@ -472,7 +472,7 @@
 
 static int igd_cdclk_init_broadwell(struct udevice *dev)
 {
-	struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+	struct broadwell_igd_plat *plat = dev_get_plat(dev);
 	struct broadwell_igd_priv *priv = dev_get_priv(dev);
 	int cdclk = plat->cdclk;
 	u32 dpdiv, lpcll, pwctl, cdset;
@@ -567,7 +567,7 @@
 
 static int igd_pre_init(struct udevice *dev, bool is_broadwell)
 {
-	struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+	struct broadwell_igd_plat *plat = dev_get_plat(dev);
 	struct broadwell_igd_priv *priv = dev_get_priv(dev);
 	u32 rp1_gfx_freq;
 	int ret;
@@ -708,7 +708,7 @@
 
 static int broadwell_igd_ofdata_to_platdata(struct udevice *dev)
 {
-	struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+	struct broadwell_igd_plat *plat = dev_get_plat(dev);
 	struct broadwell_igd_priv *priv = dev_get_priv(dev);
 	int node = dev_of_offset(dev);
 	const void *blob = gd->fdt_blob;
diff --git a/drivers/video/nexell_display.c b/drivers/video/nexell_display.c
index b1f8134..ef0fdf6 100644
--- a/drivers/video/nexell_display.c
+++ b/drivers/video/nexell_display.c
@@ -536,7 +536,7 @@
 {
 	struct video_uc_platdata *uc_plat = dev_get_uclass_plat(dev);
 	struct video_priv *uc_priv = dev_get_uclass_priv(dev);
-	struct nx_display_platdata *plat = dev_get_platdata(dev);
+	struct nx_display_platdata *plat = dev_get_plat(dev);
 	static GraphicDevice *graphic_device;
 	char addr[64];
 
diff --git a/drivers/video/orisetech_otm8009a.c b/drivers/video/orisetech_otm8009a.c
index 190bb55..39c1c33 100644
--- a/drivers/video/orisetech_otm8009a.c
+++ b/drivers/video/orisetech_otm8009a.c
@@ -79,7 +79,7 @@
 static void otm8009a_dcs_write_buf(struct udevice *dev, const void *data,
 				   size_t len)
 {
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	struct mipi_dsi_device *device = plat->device;
 
 	if (mipi_dsi_dcs_write_buffer(device, data, len) < 0)
@@ -89,7 +89,7 @@
 static void otm8009a_dcs_write_buf_hs(struct udevice *dev, const void *data,
 				      size_t len)
 {
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	struct mipi_dsi_device *device = plat->device;
 
 	/* data will be sent in dsi hs mode (ie. no lpm) */
@@ -124,7 +124,7 @@
 
 static int otm8009a_init_sequence(struct udevice *dev)
 {
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	struct mipi_dsi_device *device = plat->device;
 	int ret;
 
@@ -255,7 +255,7 @@
 
 static int otm8009a_panel_enable_backlight(struct udevice *dev)
 {
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	struct mipi_dsi_device *device = plat->device;
 	int ret;
 
@@ -323,7 +323,7 @@
 static int otm8009a_panel_probe(struct udevice *dev)
 {
 	struct otm8009a_panel_priv *priv = dev_get_priv(dev);
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	int ret;
 
 	if (IS_ENABLED(CONFIG_DM_REGULATOR) && priv->reg) {
diff --git a/drivers/video/raydium-rm68200.c b/drivers/video/raydium-rm68200.c
index 82e8f04..a370cd9 100644
--- a/drivers/video/raydium-rm68200.c
+++ b/drivers/video/raydium-rm68200.c
@@ -92,7 +92,7 @@
 static void rm68200_dcs_write_buf(struct udevice *dev, const void *data,
 				  size_t len)
 {
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	struct mipi_dsi_device *device = plat->device;
 	int err;
 
@@ -103,7 +103,7 @@
 
 static void rm68200_dcs_write_cmd(struct udevice *dev, u8 cmd, u8 value)
 {
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	struct mipi_dsi_device *device = plat->device;
 	int err;
 
@@ -223,7 +223,7 @@
 
 static int rm68200_panel_enable_backlight(struct udevice *dev)
 {
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	struct mipi_dsi_device *device = plat->device;
 	struct rm68200_panel_priv *priv = dev_get_priv(dev);
 	int ret;
@@ -296,7 +296,7 @@
 static int rm68200_panel_probe(struct udevice *dev)
 {
 	struct rm68200_panel_priv *priv = dev_get_priv(dev);
-	struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+	struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
 	int ret;
 
 	if (IS_ENABLED(CONFIG_DM_REGULATOR) && priv->reg) {
diff --git a/drivers/video/sandbox_sdl.c b/drivers/video/sandbox_sdl.c
index cf1446e..3e231e8 100644
--- a/drivers/video/sandbox_sdl.c
+++ b/drivers/video/sandbox_sdl.c
@@ -24,7 +24,7 @@
 static int sandbox_sdl_probe(struct udevice *dev)
 {
 	struct video_uc_platdata *uc_plat = dev_get_uclass_plat(dev);
-	struct sandbox_sdl_plat *plat = dev_get_platdata(dev);
+	struct sandbox_sdl_plat *plat = dev_get_plat(dev);
 	struct video_priv *uc_priv = dev_get_uclass_priv(dev);
 	struct sandbox_state *state = state_get_current();
 	int ret;
@@ -50,7 +50,7 @@
 static int sandbox_sdl_bind(struct udevice *dev)
 {
 	struct video_uc_platdata *uc_plat = dev_get_uclass_plat(dev);
-	struct sandbox_sdl_plat *plat = dev_get_platdata(dev);
+	struct sandbox_sdl_plat *plat = dev_get_plat(dev);
 	int ret = 0;
 
 	plat->xres = dev_read_u32_default(dev, "xres", LCD_MAX_WIDTH);
diff --git a/drivers/video/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c
index 9941382..266623b 100644
--- a/drivers/video/stm32/stm32_dsi.c
+++ b/drivers/video/stm32/stm32_dsi.c
@@ -351,7 +351,7 @@
 		return ret;
 	}
 
-	mplat = dev_get_platdata(priv->panel);
+	mplat = dev_get_plat(priv->panel);
 	mplat->device = &priv->device;
 	device->lanes = mplat->lanes;
 	device->format = mplat->format;
diff --git a/drivers/video/tegra124/dp.c b/drivers/video/tegra124/dp.c
index 8519b53..d9599ee 100644
--- a/drivers/video/tegra124/dp.c
+++ b/drivers/video/tegra124/dp.c
@@ -1568,7 +1568,7 @@
 
 static int tegra_dp_ofdata_to_platdata(struct udevice *dev)
 {
-	struct tegra_dp_plat *plat = dev_get_platdata(dev);
+	struct tegra_dp_plat *plat = dev_get_plat(dev);
 
 	plat->base = dev_read_addr(dev);
 
@@ -1594,7 +1594,7 @@
 
 static int dp_tegra_probe(struct udevice *dev)
 {
-	struct tegra_dp_plat *plat = dev_get_platdata(dev);
+	struct tegra_dp_plat *plat = dev_get_plat(dev);
 	struct tegra_dp_priv *priv = dev_get_priv(dev);
 	struct display_plat *disp_uc_plat = dev_get_uclass_plat(dev);
 
